#pragma once

#include "../umlmodel_global.h"

#include "Association.h"
#include "Classifier.h"

namespace uml {

/// <summary>
/// CommunicationPath
/// A communication path is an association between two deployment targets, through
/// which they are able to exchange signals and messages.
/// </summary>
class UMLMODEL_EXPORT CommunicationPath : public Classifier, public Association {

public: // Constructors and destructors
    explicit CommunicationPath(const QString& umlType="uml::CommunicationPath");

public: // JsonSerializable override
    void fromJson(const QJsonObject& json, QStringList& errorList) override;
    void toJson(QJsonObject& json) override;

};

} // namespace uml
